/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.os.app;
import br.os.dao.*;
import br.os.model.bean.*;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
/**
 *
 * @author Rubean
 */
public class AppMain {

    OrdemDao ordemDao = new OrdemDao();
    TecnicoDao tecnicoDao =  new TecnicoDao();

    public AppMain(){
       // conexaoDao();
       cadastrarOs();
       // findAllOs();
       cadastrarTecnico();
        //findAllTecnicos();
       // inserirTecnicoNaOs();

    }

    public void conexaoDao(){
    }

    public String cadastrarOs(){

        try{
            ordemDao.begin();

            Ordem ordem1 = new Ordem("InstalaÃ§Ã£o", "Ayrton",new GregorianCalendar(2010, Calendar.JUNE, 25));
            Ordem ordem2 = new Ordem("ManutenÃ§Ã£o", "Rubean",new GregorianCalendar(2010, Calendar.JULY, 23));
            Ordem ordem3 = new Ordem("InstalaÃ§Ã£o", "Arthur",new GregorianCalendar(2010, Calendar.MAY, 15));
            Ordem ordem4 = new Ordem("ManutenÃ§Ã£o", "Roberto",new GregorianCalendar(2010, Calendar.MARCH, 12));
            Ordem ordem5 = new Ordem("InstalaÃ§Ã£o", "Rafael",new GregorianCalendar(2010, Calendar.AUGUST, 14));

            ordemDao.persist(ordem1);
            ordemDao.flush();
            ordemDao.persist(ordem2);
            ordemDao.flush();
            ordemDao.persist(ordem3);
            ordemDao.flush();
            ordemDao.persist(ordem4);
            ordemDao.flush();
            ordemDao.persist(ordem5);
            ordemDao.flush();
            ordemDao.commit();

            return "cadastrado com sucesso";
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            ordemDao.close();
        }
        return "cadastrado com sucesso";
    }

    public void findAllOs(){
       List<Ordem> ordens = ordemDao.findAllOs();
       System.out.println("####### Listagem das OS ########");
       for(Ordem o : ordens){
           System.out.println(o.toString());
       }
    }

    public String cadastrarTecnico(){

        try{
        tecnicoDao.begin();

        Tecnico tec1 = new Tecnico("ayrton", "ayrton", "1234");
        Tecnico tec2 = new Tecnico("rubean", "rubean", "1234");
        Tecnico tec3 = new Tecnico("rafael", "rafael", "1234");
        Tecnico tec4 = new Tecnico("arthur", "arthur", "1234");
        Tecnico tec5 = new Tecnico("roberto", "roberto", "1234");

        tecnicoDao.persist(tec1);
        tecnicoDao.flush();
        tecnicoDao.persist(tec2);
        tecnicoDao.flush();
        tecnicoDao.persist(tec3);
        tecnicoDao.flush();
        tecnicoDao.persist(tec4);
        tecnicoDao.flush();
        tecnicoDao.persist(tec5);
        tecnicoDao.flush();
        tecnicoDao.commit();
        return "Tecnico cadastrado";
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            tecnicoDao.close();
        }
        return null;
    }

    public void findAllTecnicos(){
       List<Tecnico> tecnicos = tecnicoDao.findAllTecnicos();
       System.out.println("####### Listagem dos Tecnicos ########");
       for(Tecnico t : tecnicos){
           System.out.println(t.toString());
           //System.out.println("OS");
       }
    }
    public static void main(String args[]){

        new AppMain();
    }

}
